package eteam.aps.systeminterface.service;

import eteam.aps.common.R;
import eteam.aps.common.exceptions.AuthException;
import eteam.aps.systeminterface.model.dto.ModuleoperDto;
import eteam.aps.systeminterface.model.entity.ModuleEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

/**
 * 系统服务
 */
public interface ISystemController {
    /**
     * 获取用户菜单树形列表
     *
     * @return: 菜单树形列表
     */
    @RequestMapping(value = "/api/system/getmenulist", method = RequestMethod.GET)
    R<List<ModuleEntity>> getModuleList() throws Exception, AuthException;

    /**
     * 获取所有模块树形列表
     *
     * @return: 所有模块树形列表
     */
    @RequestMapping(value = "/api/system/getmenutree", method = RequestMethod.GET)
    R<List<ModuleEntity>> getModuleTree() throws Exception, AuthException;

    /**
     * 获取已经设置【请求URL】的模块操作列表，此功能对应接口地址
     *
     * @return: 模块操作列表
     */
    @RequestMapping(value = "/api/system/getmoduleopers", method = RequestMethod.GET)
    R<List<ModuleoperDto>> getModuleopers() throws Exception, AuthException;
}
